all: clientDriver #situationTest

SITUATION_PATH := ../situationControl

clientDriver: SituationController.o Situation.o networkHandler.o clientDriver.o Room.o Player.o
	g++ clientDriver.cpp networkHandler.o SituationController.o Situation.o Room.o Player.o -o clientDriver -lboost_system -lboost_serialization -lboost_thread

networkHandler.o: SituationController.o networkHandler.h networkHandler.cpp
	g++ -c SituationController.o networkHandler.cpp -lboost_system

SituationController.o: Situation.o Room.o Player.o $(SITUATION_PATH)/SituationController.cpp $(SITUATION_PATH)/SituationController.h
	g++ -c Situation.o Player.o Room.o $(SITUATION_PATH)/SituationController.cpp -Wall

Situation.o: Room.o Player.o $(SITUATION_PATH)/Situation.cpp $(SITUATION_PATH)/Situation.h
	g++ -c Player.o Room.o $(SITUATION_PATH)/Situation.cpp -Wall

Room.o: $(SITUATION_PATH)/Room.cpp $(SITUATION_PATH)/Room.h
	g++ -c $(SITUATION_PATH)/Room.cpp -Wall

Player.o: $(SITUATION_PATH)/Player.cpp $(SITUATION_PATH)/Player.h
	g++ -c $(SITUATION_PATH)/Player.cpp -Wall

clean:
	rm -rf clientDriver *.o
